<template>
  <!-- 问题：max 的值为 undefind，这是因为，在父组件中获取的操作是异步的，我们不清楚什么时候获取到这个值；但是，总归有一刻，会得到真正的 max 值 -->
  <!-- 我们可以使用 watch 属性监听，父组件传递过来的 max 值，不管 watch 会被触发几次，但是最后一次肯定是以合法的 max 值 -->
  <div class="mui-numbox" data-numbox-min="1">
    <button class="mui-btn mui-btn-numbox-minus" type="button">-</button>
    <input class="mui-input-numbox" type="number" value="1" @change="countChanged" ref="numbox">
    <button class="mui-btn mui-btn-numbox-plus" type="button">+</button>
  </div>
</template>

<script>
import mui from '../../lib/mui/js/mui.min.js'

export default {
  data() {
    return {

    }
  },
  props: ["max"],
  watch: {
    max: function (newVal, oldVal) {
      mui(".mui-numbox").numbox().setOption('max', newVal)
    }
  },
  mounted() {
    mui(".mui-numbox").numbox()
  },
  methods: {
    countChanged() {
      // 每当文本框的数据被修改的时候，立即把 最新的数据，通过事件调用传递给父组件
      this.$emit('getCount', parseInt(this.$refs.numbox.value))
    }
  }
}
</script>

<style lang="scss" scoped>
</style>
